diophantine equations number theory